package com.hehao.java_basic.stream;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author Damon
 * @date 2022/2/23
 */
public class MapFlatMapDemo {
    public static void main(String[] args) {
        /**
         * Map的使用
         */
//        List<Person> list = Person.getList();
//        System.out.println("===============原始集合================");
//        System.out.println(list);
//        System.out.println(list.stream().map(x -> x.getName().toUpperCase(Locale.ROOT)).collect(Collectors.toList()));
//        System.out.println("=========================");
//        System.out.println(list.stream().map(x -> x.getSalary() + 500).collect(Collectors.toList()));
//        System.out.println("=========================");
//
//        //不改变原有集合
//        List<Person> newPersonList = list.stream().map(person -> {
//            Person newPerson = new Person(person.getName(), 0, null, null);
//            newPerson.setSalary(person.getSalary() + 10000);
//            return newPerson;
//        }).collect(Collectors.toList());
//        System.out.println("===============新集合================");
//        System.out.println(newPersonList);
//
//
//        //改变原有集合
//        List<Person> newPersonList2 = list.stream().map(person -> {
//            person.setSalary(person.getSalary() + 10000);
//            return person;
//        }).collect(Collectors.toList());
//        System.out.println("===============新集合================");
//        System.out.println(newPersonList2);
//        System.out.println("===============原始集合================");
//        System.out.println(list);

        /**
         * flatmap的使用
         * 将两个字符数组合并成一个新的字符数组
         */

        List<String> list = Arrays.asList("m-k-l-a", "1-3-5-7");
        System.out.println(list);
        System.out.println(list.stream().flatMap(o -> {
            String[] split = o.split("-");
            return Arrays.stream(split);
        }).collect(Collectors.toList()));


    }
}

